// 用户模块
export default {
  namespaced: true,
  // 响应式数据
  // 模块化复用
  // 组件 data 必须是一个函数 return {}
  // 组件 -> 复用 data 多个复用的组件中的data都会指向同一个内存 一改都改
  // vuex 中的模块也是可以重用的 如果不写成函数 复用的时候又会互相影响

  // data()
  // props 引用类型 设置默认值 必须是工厂函数返回
  // state 函数
  // 在一个函数中return一个对象的话 每次调用函数都会生成一个独立的内存空间
  // 生成的数据是互相不影响的

  // props:{ type:Object ,default:()=>{return {}}}
  state: () => ({
    profile: {
      id: '',
      nickname: '',
      avatar: '',
      token: '',
      mobile: ''
    }
  }),
  // 操作响应式数据的方法(唯一可以修改)
  mutations: {
    setUser (state, payload) {
      state.profile.id = '10001'
    }
  },
  // 异步
  actions: {},
  // 等同于state的计算属性
  getters: {}
}
